package name.marz.to.go.ahg.mhbk.executer;

import name.marz.to.go.ahg.core.checker.DocumentChecker;
import name.marz.to.go.ahg.core.exception.CannotLoginException;
import name.marz.to.go.ahg.core.exception.UserProcessException;

import org.jsoup.nodes.Document;

public class MHBKLoginChecker implements DocumentChecker {
	private String ERR_UNCORRECT_PASSWD1 = "EMFb71";
	private String ERR_UNCORRECT_PASSWD2 = "ログインできません。";
	@Override
	public void check(Document doc) throws UserProcessException {
		// ログインタイムアウトチェック
		if ( doc.body().html().contains("ログイン タイムアウト")) {
			CannotLoginException cle = new CannotLoginException("ログイン タイムアウト");
			cle.setDocument(doc);
			throw cle;
		}
		// パスワード違い
		if ( doc.body().html().contains(ERR_UNCORRECT_PASSWD1)) {
			CannotLoginException cle = new CannotLoginException(
					doc.body().getElementsContainingOwnText(ERR_UNCORRECT_PASSWD1).first().text()
					);
			cle.setDocument(doc);
			throw cle;
		}
		// ログインできません。お客さま番号またはログインパスワードをご確認ください。　
		if ( doc.body().html().contains(ERR_UNCORRECT_PASSWD2)) {
			CannotLoginException cle = new CannotLoginException(
					doc.body().getElementsContainingOwnText(ERR_UNCORRECT_PASSWD2).first().text()
					);
			cle.setDocument(doc);
			throw cle;
		}
		return;
	}
}